package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 告警信息对象 alarm
 * 
 * @author ruoyi
 * @date 2025-06-28
 */
public class Alarm extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 告警主键ID */
    private Integer aId;

    /** 充电站ID */
    @Excel(name = "充电站ID")
    private Integer aStationId;

    /** 充电桩ID */
    @Excel(name = "充电桩ID")
    private Integer aPileId;

    /** 充电枪ID */
    @Excel(name = "充电枪ID")
    private Integer aGunId;

    /** 告警类型 */
    @Excel(name = "告警类型")
    private String aType;

    /** 告警等级 */
    @Excel(name = "告警等级")
    private String aLevel;

    /** 告警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "告警时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date aTime;

    /** 持续时长（秒） */
    @Excel(name = "持续时长", readConverterExp = "秒=")
    private Integer aDuration;

    /** 充电站名称 */
    @Excel(name = "充电站名称")
    private String stationName;

    public void setaId(Integer aId) 
    {
        this.aId = aId;
    }

    public Integer getaId() 
    {
        return aId;
    }

    public void setaStationId(Integer aStationId) 
    {
        this.aStationId = aStationId;
    }

    public Integer getaStationId() 
    {
        return aStationId;
    }

    public void setaPileId(Integer aPileId) 
    {
        this.aPileId = aPileId;
    }

    public Integer getaPileId() 
    {
        return aPileId;
    }

    public void setaGunId(Integer aGunId) 
    {
        this.aGunId = aGunId;
    }

    public Integer getaGunId() 
    {
        return aGunId;
    }

    public void setaType(String aType) 
    {
        this.aType = aType;
    }

    public String getaType() 
    {
        return aType;
    }

    public void setaLevel(String aLevel) 
    {
        this.aLevel = aLevel;
    }

    public String getaLevel() 
    {
        return aLevel;
    }

    public void setaTime(Date aTime) 
    {
        this.aTime = aTime;
    }

    public Date getaTime() 
    {
        return aTime;
    }

    public void setaDuration(Integer aDuration) 
    {
        this.aDuration = aDuration;
    }

    public Integer getaDuration() 
    {
        return aDuration;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("aId", getaId())
            .append("aStationId", getaStationId())
            .append("aPileId", getaPileId())
            .append("aGunId", getaGunId())
            .append("aType", getaType())
            .append("aLevel", getaLevel())
            .append("aTime", getaTime())
            .append("aDuration", getaDuration())
            .append("stationName", getStationName())
            .toString();
    }
}
